class Documenti::DettagliPreventivoController < DefaultController
  require_role self.parent_name.underscore
  #uses_tiny_mce
  active_scaffold :dettaglio_preventivo do |config|
    config.label = Application.controller_label(self)
    config.subform.layout = :vertical
    list.sorting = {:position => 'ASC'}
    config.actions.add :field_search, :export, :sortable
    config.sortable.column = :position
    columns = [:preventivo, :descrizione_lavoro, :prezzo_netto, :stato_documento]
    config.columns = columns
    config.update.columns.exclude :preventivo
    config.columns[:stato_documento].form_ui = :select
    config.columns[:stato_documento].search_ui = :multi_select
    [:prezzo_netto].each { |i| config.columns[i].options[:format] = :currency }
    config.columns[:descrizione_lavoro].css_class = "sortable"
    config.columns[:descrizione_lavoro].form_ui = :text_editor
    config.columns[:descrizione_lavoro].options = NOTE_TEXTAREA
    [:prezzo_netto, :stato_documento].each { |i| config.columns[i].inplace_edit = :ajax }
    #config.columns[:prezzo_lordo].description = "IVA compresa"
    config.columns[:prezzo_netto].description = "IVA esclusa"
    config.columns[:prezzo_netto].calculate = :sum
  end 

  def calcola_prezzo_totale(record)
    record.preventivo.update_attributes(:prezzo_totale_netto => record.preventivo.dettagli_preventivo.sum(:prezzo_netto))
  end
  def after_create_save(record)
    calcola_prezzo_totale(record)
  end
  def after_update_save(record)
    calcola_prezzo_totale(record)
  end
end
